// find();
// <ul class="lang">
//     <li class="js dy">JavaScript</li>
//     <li class="dy">Python</li>
//     <li id="swift">Swift</li>
//     <li class="dy">Scheme</li>
//     <li name="haskell">Haskell</li>
// </ul>

// 查找和过滤
var ul=$('ul.lang');
var dy=ul.find('.dy')//
console.log(dy);//获取dy属性
var hsk=ul.find(`[name=haskell]`)
console.log(hsk);
var aa=ul.find(`#swift`)
console.log(aa);

// 如果从当前节点向上查找 用parent()方法

var sa=$(`#swift`)// 获得Swift
var parent=sa.parent();// 获得Swift的上层节点<ul>
var a=sa.parent(`.red`)// 获得Swift的上层节点<ul>，同时传入过滤条件。如果ul不符合条件，返回空jQuery对象
console.log(a);

//同一层的节点可以调用 next()和prev()方法
var swift = $('#swift');

swift.next(); // Scheme
swift.next('[name=haskell]'); // 空的jQuery对象，因为Swift的下一个元素Scheme不符合条件[name=haskell]

swift.prev(); // Python
swift.prev('.dy'); // Python，因为Python同时符合过滤器条件.dy